package bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import model.Usuario;
import util.Criptografia;
import dao.UsuarioDAO;

@ManagedBean
@ViewScoped
public class LoginBean implements Serializable{

	private Usuario usuario;
	private List<Usuario> list;
	private UsuarioDAO dao;
	private Criptografia cripto;
	private String currentAction;
	private String viewPrincipal;
	
	

	public LoginBean(){
		this.usuario = new Usuario();
		this.dao = new UsuarioDAO();
	}
	
	
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
	public List<Usuario> getList() {
		return list;
	}
	public void setList(List<Usuario> list) {
		this.list = dao.selectAll();
	}
	
	public String getViewPrincipal() {
		return viewPrincipal;
	}


	public void setViewPrincipal(String viewPrincipal) {
		this.viewPrincipal = viewPrincipal;
	}

	
	public String validaLogin(ActionEvent actionEvent){
		String result = null;
		cripto = new Criptografia();
		System.out.println(this.usuario.getSenha());
		try {
			if(cripto.validaSenha(this.usuario.getLogin(), this.usuario.getSenha(), dao.selectAll())){
				result = "OK";
			}
			else{
				result = "ERRO";
				FacesContext context = FacesContext.getCurrentInstance();
		         
		        context.addMessage(null, new FacesMessage("Error",  "Login ou Senha Invalido " ) );
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println(result);
		return result;
		
	}
}
